#include<stdio.h>
#include<stdlib.h>

void test1(){
	int *a,n=10,i;
	a=(int*)calloc(n,sizeof(int));
	for(int i=0;i<n;i++){
		a[i]=i+1;
	}
	for(i=0;i<n;i++){
		printf("%d   ",a[i]);
	}
	printf("\n");
	free(a);
}
int **make2darr(int row,int col){
	int **a,i;
	a=(int**)calloc(row,sizeof(int*));
	for(i=0;i<row;i++){
		a[i]=(int*)calloc(col,sizeof(int));
	}
	return a;
}
void free2d(int **a,int row){
	int i;
	for(i=0;i<row;i++){
		free(a[i]);
	}
	free(a);
}
void test2(){
	
}
int main(){
	test1();
	int **a;
	int row=3,col=4;
	a=make2darr(row,col);
	int c=1;
	for(int i=0;i<row;i++){
		for(int j=0;j<col;j++){
			a[i][j]=c++;
		}
	}
	for(int i=0;i<row;i++){
		for(int j=0;j<col;j++){
			printf("%d  ",a[i][j]);
		}
		printf("\n");
	}
	free2d(a,row);

}
